# xpath 是在XML 文档中搜索内容的一门语言
# 与正则表达式类似, 相比较简单
# html 是xml 的一个子集
'''
<book>
    <id>1</id>
    <name>野花遍地香</name>
    <price>1.23<price>
    <author>
        <nick>周大强</nick>
        <nick>周芷若</nick>
    <author>
</book>

使用xpath 查询  若查询 1.23: /book/price
'''
from lxml import etree

xml = '''
<book>
    <id>1</id>
    <name>野花遍地香</name>
    <price>1.23</price>
    <author>
        <nick id="10086">周大强</nick>
        <nick id="10010">周芷若</nick>
        <div>
            <nick>哇哇哇1</nick>
        </div>
        <span>
            <nick>哇哇哇2</nick>
        </span>
    </author>
</book>
'''
tree = etree.XML(xml)
# / 表示层级关系, 第一个/ 是根节点
# text() 拿文本
# result = tree.xpath("/book/name/text()")

# // 将包含nick 的所有后代全取出来
# result = tree.xpath("/book//nick/text()")

# * 任意节点, 通配符
result = tree.xpath("/book/author/*/nick/text()")

print(result)





